package com.marvels.approve.credit.service;

import java.util.List;
import java.util.Map;

import com.fintech.third.model.credit.BRDeviceInfo;
import com.fintech.third.model.credit.CallCountFilterDto;
import com.fintech.third.model.credit.CreditReportMessageDto;
import com.fintech.third.model.credit.CreditReportPortrait;
import com.fintech.third.model.credit.MxAlipayAddressDto;
import com.fintech.third.model.credit.MxAlipayBankDto;
import com.fintech.third.model.credit.MxAlipayUserInfoDto;
import com.fintech.third.model.credit.MxOperatorReportDto;
import com.fintech.third.model.credit.PieChartDto;
import com.fintech.third.model.credit.YDDeviceLinkDto;
import com.fintech.third.model.credit.YDLendBehaviorDto;
import com.fintech.third.model.credit.YDUserInfoDto;
import com.fintech.third.model.moxie.carriesv2.MXCheckSearchInfo;
import com.fintech.third.model.moxie.dataprovide.IntMxAccountBaseInfo;
import com.fintech.third.model.shzx.EdcZxPersonalNewCredit;
import com.marvels.approve.loan.dto.McamLoanApplyInfoDTO;

public interface ApproveThirdCreditReportService {

	IntMxAccountBaseInfo getUserOperatorSummary(String loanId);
	/**
	 * 根据通话地统计各通话地所占百分比
	 * wanggang
	 * @param loanId
	 * @return
	 */
	List<PieChartDto> selectCallLocationPercent(String loanId);
	
	/**
	 * 根据通话类型统计各通话地所占百分比
	 * wanggang
	 * @param loanId
	 * @return
	 */
	List<PieChartDto> selectCallTypePercent(String loanId);
	
	public CallCountFilterDto getCallCount(String loanId);
	
	public CallCountFilterDto getCallCountWithMonth(String loanId,String month);
	
	CallCountFilterDto getStrangerNumberStatistics(String loanId,String userId);
    
	CallCountFilterDto getCallPeriodStatistics(String loanId);
    
	CallCountFilterDto getCallPeriodStatisticsWithMonth(String loanId,String month);
	
	CreditReportMessageDto queryCallCountList(Map<String,Object> map);
	
	CreditReportMessageDto queryCallCountListWithMonth(Map<String,Object> map);
	
	CreditReportMessageDto getCallDetailList(Map<String,Object> map);
	
	CreditReportMessageDto getAddressBookList(Map<String,Object> map);
	
	MxAlipayUserInfoDto getMxAlipayUserInfo(String loanId);
	
	List<MxAlipayBankDto> getMxAlipayBankList(String loanId);
	
	List<MxAlipayAddressDto> getMxAlipayAddressList(String loanId);
	
	public CreditReportMessageDto getZXApplyInfo(Map<String, Object> map);
	
	CreditReportPortrait getZXBasicInfo(String cardNo);
	
	EdcZxPersonalNewCredit getZXNewCredit(String loanId);
	
	public CreditReportMessageDto getZXOrderInfo(Map<String, Object> map);
	
	public CreditReportMessageDto getZXOrderDetailInfo(Map<String, Object> map);
	
	public McamLoanApplyInfoDTO  queryByLoandId(String loanId);
	
	MxOperatorReportDto getMxCheckBlackInfo(String loanId);
	
	public MXCheckSearchInfo getMxUserSearchInfo(String loanId);
	
	public String getThirdLoanId(String virLaonId);
	
	BRDeviceInfo getDeviceInfo(Map<String,Object> map);
	
	CreditReportMessageDto getDeviceDetailInfo(Map<String,Object> map);
	
	public YDUserInfoDto selectYDUserInfoDto(String loanId);
	
	public YDLendBehaviorDto selectYDLendBehaviorDto(String loanId);
	
	public YDDeviceLinkDto selectYDDeviceLinkDto(String loanId);
	
}
